<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  

  
  <title>037.RIP与OSPF动态路由协议配置 | 似南-全栈开发路上的探索者、追梦人</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  
  
  
  <meta name="keywords" content="似南,FaithSinan" />
  
  <meta name="description" content="IP 转发原理​        路由器工作在 OSI 模型中的第三层，也就是网络层。路由器通过逻辑的地址（IP 地址）来划分区别不同的网络，实现网络之间的互联和隔离，并且路由器不转发广播消息，把广播消息限制在各自区域的网络中，发送到其他网络的数据先被发送到路由器，再由路由器转发出去。 ​        路由器的核心是全局路由表，通过路由器的所有数据转发都要经过全局路由表来实现。路由是指导 IP 报">
<meta property="og:type" content="article">
<meta property="og:title" content="037.RIP与OSPF动态路由协议配置">
<meta property="og:url" content="http://yoursite.com/2020/06/12/037.RIP%E4%B8%8EOSPF%E5%8A%A8%E6%80%81%E8%B7%AF%E7%94%B1%E5%8D%8F%E8%AE%AE%E9%85%8D%E7%BD%AE/index.html">
<meta property="og:site_name" content="似南-全栈开发路上的探索者、追梦人">
<meta property="og:description" content="IP 转发原理​        路由器工作在 OSI 模型中的第三层，也就是网络层。路由器通过逻辑的地址（IP 地址）来划分区别不同的网络，实现网络之间的互联和隔离，并且路由器不转发广播消息，把广播消息限制在各自区域的网络中，发送到其他网络的数据先被发送到路由器，再由路由器转发出去。 ​        路由器的核心是全局路由表，通过路由器的所有数据转发都要经过全局路由表来实现。路由是指导 IP 报">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://yoursite.com/image/037/037-20200609223523.png">
<meta property="og:image" content="http://yoursite.com/image/037/037-20200612120747.png">
<meta property="article:published_time" content="2020-06-12T11:15:21.000Z">
<meta property="article:modified_time" content="2021-11-13T07:43:55.960Z">
<meta property="article:author" content="FaithSinan">
<meta property="article:tag" content="路由配置">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://yoursite.com/image/037/037-20200609223523.png">
  
    <link rel="alternate" href="/atom.xml" title="似南-全栈开发路上的探索者、追梦人" type="application/atom+xml">
  
  
    <link rel="icon" href="/images/avatar.png">
  
  
    <link href="//fonts.googleapis.com/css?family=Source+Code+Pro" rel="stylesheet" type="text/css">
  
  
<link rel="stylesheet" href="/css/style.css">

  
<link rel="stylesheet" href="/css/highlight.css">

<meta name="generator" content="Hexo 4.2.1"></head>

<body>
  <div id="fullpage" class="mobile-nav-right">
    
      <div id="wrapper" title="图片来自网络">
    
    
      <header id="header">
  <div id="nav-toggle" class="nav-toggle"></div>
  <div class="head-box global-width">
    <nav class="nav-box nav-left">
      
        <a class="nav-item" href="/" title
        
        >首页</a>
      
        <a class="nav-item" href="/archives" title
        
        >归档</a>
      
    </nav>
  </div>
</header>
      <div id="middlecontent" title class="global-width sidebar-left">
        <section id="main"><article id="post-037.RIP与OSPF动态路由协议配置" class="article global-container article-type-post" itemscope itemprop="blogPost">
  
    <header class="article-header">
      
  
    <h1 class="article-title" itemprop="name">
      037.RIP与OSPF动态路由协议配置
    </h1>
  

    </header>
  
  <div class="article-meta">
    <a href="/2020/06/12/037.RIP%E4%B8%8EOSPF%E5%8A%A8%E6%80%81%E8%B7%AF%E7%94%B1%E5%8D%8F%E8%AE%AE%E9%85%8D%E7%BD%AE/" class="article-date">
  <time datetime="2020-06-12T11:15:21.000Z" itemprop="datePublished">2020-06-12</time>
</a>
    
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/">运维技术</a>►<a class="article-category-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/%E6%95%B0%E9%80%9A/">数通</a>
  </div>

    
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E8%B7%AF%E7%94%B1%E9%85%8D%E7%BD%AE/" rel="tag">路由配置</a></li></ul>

  </div>
  
    <span id="busuanzi_container_page_pv">
      本文总阅读量<span id="busuanzi_value_page_pv"></span>次
    </span>
  

  <div class="article-inner">
    
    <div class="article-content article-content-cloud" itemprop="articleBody">
      
        <h4 id="IP-转发原理"><a href="#IP-转发原理" class="headerlink" title="IP 转发原理"></a>IP 转发原理</h4><p>​        路由器工作在 OSI 模型中的第三层，也就是网络层。路由器通过逻辑的地址（IP 地址）来划分区别不同的网络，实现网络之间的互联和隔离，并且路由器不转发广播消息，把广播消息限制在各自区域的网络中，发送到其他网络的数据先被发送到路由器，再由路由器转发出去。</p>
<p>​        路由器的核心是全局路由表，通过路由器的所有数据转发都要经过全局路由表来实现。路由是指导 IP 报文发送的路径信息，是报文从源端到目的端的整条传输路径。</p>
<a id="more"></a>

<p>路由有两个基本功能：路由决策和报文转发。</p>
<ul>
<li><p>路由决策：当报文从路由器到达目的网段有多条路由可达时，路由会进行决策，选择出最优的路由放入到路由表中。最优的路由选择与路由协议的优先级，与路由协议使用的不同度量值有关。</p>
</li>
<li><p>报文转发：路由器可以根据路由表中最优的路由进行数据转发。路由器会首先查找路由表，判断是否有去往该目的网络的路由，通常情况下会丢弃数据。反之，根据路由表中的相应表项发送数据到目的网络。</p>
</li>
</ul>
<h4 id="路由协议概述"><a href="#路由协议概述" class="headerlink" title="路由协议概述"></a>路由协议概述</h4><p>路由器使用一些路由协议来构建路由表。路由协议是路由器之间交互信息的一种语言，共享网络状态和网络可达性的一些消息，创建和维护路由表，提供最佳转发路径。</p>
<p>根据来源不同，路由表中的路由通常分为 3 类：</p>
<ul>
<li><p>通过链路层协议发现的路由（也称为接口路由或直连路由），不需要配置。</p>
</li>
<li><p>通过由网络管理员手工配置的静态路由。</p>
</li>
<li><p>通过动态路由协议发现的路由（比如 RIP、OSPF、IS-IS、BGP等）。</p>
<p>动态路由协议适用于网络拓扑结构十分复杂，手工配置静态路由工作量大，而且容易出现错误。这时，就可用动态路由协议，通过它们各自的路由算法，让其自动发现和修改路由，无须人工维护，但动态路由协议开销大，配置复杂。动态路由协议中较为常用的就是 RIP、OSPF 了。</p>
</li>
</ul>
<h4 id="RIP-基本原理及配置"><a href="#RIP-基本原理及配置" class="headerlink" title="RIP 基本原理及配置"></a>RIP 基本原理及配置</h4><p>​        作为一种动态路由协议，RIP 协议定义了两种报文类型：请求报文（Request）和响应报文（Response）。请求报文是用来向邻居发送“请求更新”，而响应报文用来发送路由更新。</p>
<p>​        启用 RIP 之后，它将向相邻的路由器发送 Request 报文用来请求邻居所包含的路由，邻居收到 Request 报文后，把自身包含的 RIP 协议中学习到的路由表封装在 Response 报文中向对应接口广播。对方提取 Response 报文中的路由表项（网络前缀、度量值等），以此类推形成最终的 RIP 路由表。</p>
<p>​        RIP 协议使用单一的“跳数”（Hop）来度量网络的优劣，一跳表示与发出通告的路由器相直连的网络，每经过一个路由器（或网络）跳数加一。RIP 协议的最大可用跳数为 15 跳，而到达 16 跳时网络将不可达，不会被放入路由表。RIP 的路由选择以最小跳数为原则。在华为设备上，RIP 协议的优先级（Preference）为 100。</p>
<p>RIP 配置实例：</p>
<p><img src="/image/037/037-20200609223523.png" alt=""></p>
<p>PC1：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">IP地址：192.168.1.2	掩码：255.255.255.0	网关：192.168.1.1</span><br></pre></td></tr></table></figure></div>

<p>PC2：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="PLAIN"><figure class="iseeu highlight /plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">IP地址：192.168.2.2	掩码：255.255.255.0	网关：192.168.2.1</span><br></pre></td></tr></table></figure></div>

<p>​    </p>
<p>R1：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">[R1]int g0/0/0</span><br><span class="line">[R1-GigabitEthernet0/0/0]ip address 192.168.10.1 24</span><br><span class="line">[R1-GigabitEthernet0/0/0]int g0/0/1</span><br><span class="line">[R1-GigabitEthernet0/0/1]ip address 192.168.1.1 24</span><br><span class="line"></span><br><span class="line">[R1-GigabitEthernet0/0/1]rip</span><br><span class="line">[R1-rip-1]version 2		#声明使用 RIPv2 版本，不声明默认为RIPv1</span><br><span class="line">[R1-rip-1]network 192.168.10.0		#通告直连的C类网段，区分ABC类网络</span><br><span class="line">[R1-rip-1]network 192.168.1.0</span><br></pre></td></tr></table></figure></div>

<p>R2：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">[R2]int g 0/0/0</span><br><span class="line">[R2-GigabitEthernet0/0/0]ip address 192.168.10.2 24</span><br><span class="line">[R2-GigabitEthernet0/0/0]int g 0/0/2</span><br><span class="line">[R2-GigabitEthernet0/0/2]ip address 192.168.2.1 24</span><br><span class="line"></span><br><span class="line">[R2-GigabitEthernet0/0/2]rip</span><br><span class="line">[R2-rip-1]version 2</span><br><span class="line">[R2-rip-1]network 192.168.10.0</span><br><span class="line">[R2-rip-1]network 192.168.2.0</span><br></pre></td></tr></table></figure></div>



<blockquote>
<p>配置完成后，PC1应能访问另一网段的PC2。</p>
</blockquote>
<h4 id="OSPF-基本原理及配置"><a href="#OSPF-基本原理及配置" class="headerlink" title="OSPF 基本原理及配置"></a>OSPF 基本原理及配置</h4><p>​        OSPF 是基于链路状态算法的IGP内部网关路由协议。在同一个区域内的所有路由器交换 LSA 链路状态通告，构建 LSDB 链路状态数据库，每台路由器以本路由器为根，基于 LSDB 执行 SPF 算法，生成 SPF 树，计算到每个目的地的最短路径，产生路由表。</p>
<p>OSPF 的特点：</p>
<ul>
<li><p>支持 CIDR：</p>
<p>​        在发布路由信息时携带子网掩码信息，使得路由信息不再局限于有类网络。</p>
</li>
<li><p>支持区域划分：</p>
<p>​        允许自治系统内的网络被划分成区域来管理。</p>
</li>
<li><p>无路由自环：</p>
<p>​        支持区域划分，所以区域内部的路由器都使用 SPF 最短路径算法，保证了区域内部无环路。</p>
</li>
<li><p>路由变化收敛速度快：</p>
<p>​        OSPF 被设计为触发式更新方式，且对拓扑变化敏感，因此路由收敛速度会加快。</p>
</li>
<li><p>使用IP组播收发协议数据：</p>
<p>​        使用组播和单播收发协议数据，因此网络占用更小。</p>
</li>
<li><p>支持多条等值路由：</p>
<p>​        当到达目的地有多条等值开销路径时，流量被均衡地分担在这些等值开销路径上，实现了负载分担。</p>
</li>
<li><p>支持协议报文认证：</p>
<p>​        OSPF 路由器之间的报文可以配置为必须经过验证才能交换。通过验证可以提高网络的安全性。</p>
</li>
</ul>
<p>OSPF配置实例：</p>
<p><img src="/image/037/037-20200612120747.png" alt=""></p>
<p>R1：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line">[R1]int g 0/0/0</span><br><span class="line">[R1-GigabitEthernet0/0/0]ip address 10.1.1.1 24</span><br><span class="line">[R1-GigabitEthernet0/0/0]int g0/0/1</span><br><span class="line">[R1-GigabitEthernet0/0/1]ip address 10.1.2.1 24</span><br><span class="line">[R1]int LoopBack 0</span><br><span class="line">[R1-LoopBack0]ip address 11.1.1.1 32</span><br><span class="line"></span><br><span class="line">[R1]router id 11.1.1.1</span><br><span class="line">[R1]ospf</span><br><span class="line">[R1-ospf-1]area 0</span><br><span class="line">[R1-ospf-1-area-0.0.0.0]network 11.1.1.1 0.0.0.0</span><br><span class="line">[R1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255</span><br><span class="line">[R1-ospf-1-area-0.0.0.0]q</span><br><span class="line">[R1-ospf-1]area 1</span><br><span class="line">[R1-ospf-1-area-0.0.0.1]network 10.1.2.0 0.0.0.255</span><br></pre></td></tr></table></figure></div>



<p>R2:</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">[R2]int g 0/0/0</span><br><span class="line">[R2-GigabitEthernet0/0/0]ip add 10.1.1.2 24</span><br><span class="line">[R2-GigabitEthernet0/0/0]int g 0/0/1</span><br><span class="line">[R2-GigabitEthernet0/0/1]ip add 10.1.3.1 24</span><br><span class="line">[R2-GigabitEthernet0/0/1]int loo 0</span><br><span class="line">[R2-LoopBack0]ip add 22.1.1.1 32</span><br><span class="line"></span><br><span class="line">[R2]router id 22.1.1.1</span><br><span class="line">[R2]ospf</span><br><span class="line">[R2-ospf-1]area 0</span><br><span class="line">[R2-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255</span><br><span class="line">[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0</span><br><span class="line">[R2-ospf-1-area-0.0.0.0]area 2</span><br><span class="line">[R2-ospf-1-area-0.0.0.2]network 10.1.3.0 0.0.0.255</span><br></pre></td></tr></table></figure></div>



<p>R3：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">[R3]int g 0/0/1</span><br><span class="line">[R3-GigabitEthernet0/0/1]ip add 10.1.2.2 24</span><br><span class="line">[R3-GigabitEthernet0/0/1]int loo 0</span><br><span class="line">[R3-LoopBack0]ip add 33.1.1.1 32</span><br><span class="line"></span><br><span class="line">[R3]router id 33.1.1.1</span><br><span class="line">[R3]ospf</span><br><span class="line">[R3-ospf-1]area 1</span><br><span class="line">[R3-ospf-1-area-0.0.0.1]network 10.1.2.0 0.0.0.255</span><br><span class="line">[R3-ospf-1-area-0.0.0.1]network 33.1.1.1 0.0.0.0</span><br></pre></td></tr></table></figure></div>



<p>R4：</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">[R4]int g 0/0/1</span><br><span class="line">[R4-GigabitEthernet0/0/1]ip add 10.1.3.2 24</span><br><span class="line">[R4-GigabitEthernet0/0/1]int loo 0</span><br><span class="line">[R4-LoopBack0]ip add 44.1.1.1 32</span><br><span class="line"></span><br><span class="line">[R4]router id 44.1.1.1</span><br><span class="line">[R4]ospf</span><br><span class="line">[R4-ospf-1]area 2</span><br><span class="line">[R4-ospf-1-area-0.0.0.2]network 10.1.3.0 0.0.0.255</span><br><span class="line">[R4-ospf-1-area-0.0.0.2]network 44.1.1.1 0.0.0.0</span><br></pre></td></tr></table></figure></div>



<p>配置完成后，基于R3的环回测试口 Ping R4的环回测试口，是否全网互通。</p>
<div class="highlight-box"autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true"data-rel="SHELL"><figure class="iseeu highlight /shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">[R3-ospf-1-area-0.0.0.1]ping -a 33.1.1.1 44.1.1.1</span><br><span class="line">  PING 44.1.1.1: 56  data bytes, press CTRL_C to break</span><br><span class="line">    Reply from 44.1.1.1: bytes=56 Sequence=1 ttl=253 time=120 ms</span><br><span class="line">    Reply from 44.1.1.1: bytes=56 Sequence=2 ttl=253 time=80 ms</span><br><span class="line">    Reply from 44.1.1.1: bytes=56 Sequence=3 ttl=253 time=70 ms</span><br><span class="line">    Reply from 44.1.1.1: bytes=56 Sequence=4 ttl=253 time=100 ms</span><br><span class="line">    Reply from 44.1.1.1: bytes=56 Sequence=5 ttl=253 time=120 ms</span><br><span class="line"></span><br><span class="line">  --- 44.1.1.1 ping statistics ---</span><br><span class="line">    5 packet(s) transmitted</span><br><span class="line">    5 packet(s) received</span><br><span class="line">    0.00% packet loss</span><br><span class="line">    round-trip min/avg/max = 70/98/120 ms</span><br></pre></td></tr></table></figure></div>



<h4 id="OSPF和RIP的区别："><a href="#OSPF和RIP的区别：" class="headerlink" title="OSPF和RIP的区别："></a>OSPF和RIP的区别：</h4><p>​        OSPF 是一个开放的标准路由协议，不仅可以部署在企业网中，同时也可以部署在运营商级的 IP 网络中。OSPF 基于链路状态算法，而 RIP 基于距离矢量算法；对比 RIP，OSPF 是一种更高级的内部网关协议。<br>​<br>​        RIP 的路由选路原则只是简单的基于跳数，而无法根据链路带宽等资源进行选择，这样会导致一条高带宽的路径反而没有被选择，而 OSPF 协议会根据链路状态来综合考虑，进行选路，从而完全解决了这个问题。</p>
<p>​        由于 OSPF 路由收敛快、无跳数限制、通告有关链路的信息，不定期发送路由表更新，因此更适合大规模网络使用。</p>
<blockquote>
<p>2020年6月12日 完结</p>
</blockquote>
<hr>
<p>参考：《华为HCNA认证详解与学习指南》周亚军 等编著。</p>

      
    </div>
    
      <footer class="article-footer">
        完
      </footer>
    
  </div>
  
    
<nav id="article-nav">
  <div class="article-nav-block">
    
      <a href="/2020/08/19/038.MySQL%E8%BF%90%E7%BB%B4%E7%9F%A5%E8%AF%86%E6%A2%B3%E7%90%86/" id="article-nav-newer" class="article-nav-link-wrap">
        <strong class="article-nav-caption"></strong>
        <div class="article-nav-title">
          
            038.MySQL运维知识梳理
          
        </div>
      </a>
    
  </div>
  <div class="article-nav-block">
    
      <a href="/2020/06/05/036.%E5%9F%BA%E4%BA%8E%E4%B8%89%E5%B1%82%E4%BA%A4%E6%8D%A2%E6%9C%BA%E5%AE%9E%E7%8E%B0VLAN%E9%97%B4%E8%B7%AF%E7%94%B1/" id="article-nav-older" class="article-nav-link-wrap">
        <div class="article-nav-title">036.基于三层交换机实现VLAN间路由</div>
        <strong class="article-nav-caption"></strong>
      </a>
    
  </div>
</nav>

    <link rel="stylesheet" href="/css/gitment.css"> 
<script src="/js/gitment.js"></script>

<div id="gitmentContainer"></div>

<script>
var gitment = new Gitment({
  owner: '',
  repo: '',
  oauth: {
    client_id: '',
    client_secret: '',
  },
})
gitment.render('gitmentContainer')
</script>

  
  
</article>
</section>
        <aside id="sidebar">
  
    <div class="widget-box">
  <div class="avatar-box">
    <img class="avatar" src="/images/avatar.png" title="图片来自网络"></img>
    <h3 class="avatar-name">
      
        似南
      
    </h3>
    <p class="avatar-slogan">
      天空透露着微光，照亮虚无迷惘。
    </p>
  </div>
</div>


  
    
  <div class="widget-box">
    <h3 class="widget-title">分类</h3>
    <div class="widget">
      <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/Web%E5%85%A8%E6%A0%88%E6%9E%B6%E6%9E%84/">Web全栈架构</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/Web%E5%85%A8%E6%A0%88%E6%9E%B6%E6%9E%84/Java/">Java</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Web%E5%85%A8%E6%A0%88%E6%9E%B6%E6%9E%84/JavaScript/">JavaScript</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/Web%E5%85%A8%E6%A0%88%E6%9E%B6%E6%9E%84/PHP/">PHP</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/">数据库</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E6%95%B0%E6%8D%AE%E5%BA%93/MySQL/">MySQL</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%BB%BC%E5%90%88%E6%8A%80%E6%9C%AF%E6%A0%88/">综合技术栈</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E7%BB%BC%E5%90%88%E6%8A%80%E6%9C%AF%E6%A0%88/Git/">Git</a></li></ul></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/">运维技术</a><ul class="category-list-child"><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/Linux%E7%B3%BB%E7%BB%9F%E8%BF%90%E7%BB%B4/">Linux系统运维</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/Web%E5%AE%89%E5%85%A8/">Web安全</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/%E6%95%B0%E9%80%9A/">数通</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/%E8%BF%90%E7%BB%B4%E6%8A%80%E6%9C%AF/%E8%99%9A%E6%8B%9F%E5%8C%96/">虚拟化</a></li></ul></li></ul>
    </div>
  </div>


  
    
  <div class="widget-box">
    <h3 class="widget-title">标签云</h3>
    <div class="widget tagcloud">
      <a href="/tags/Docker/" style="font-size: 10px;">Docker</a> <a href="/tags/Hexo/" style="font-size: 10px;">Hexo</a> <a href="/tags/JDBC/" style="font-size: 15px;">JDBC</a> <a href="/tags/JavaGUI/" style="font-size: 10px;">JavaGUI</a> <a href="/tags/MyBatis/" style="font-size: 10px;">MyBatis</a> <a href="/tags/SSH/" style="font-size: 10px;">SSH</a> <a href="/tags/Servlet/" style="font-size: 10px;">Servlet</a> <a href="/tags/Socket/" style="font-size: 10px;">Socket</a> <a href="/tags/Spring/" style="font-size: 10px;">Spring</a> <a href="/tags/SpringBoot/" style="font-size: 15px;">SpringBoot</a> <a href="/tags/SpringCloud/" style="font-size: 10px;">SpringCloud</a> <a href="/tags/Telnet/" style="font-size: 10px;">Telnet</a> <a href="/tags/VLAN/" style="font-size: 15px;">VLAN</a> <a href="/tags/%E4%BC%98%E5%8C%96/" style="font-size: 10px;">优化</a> <a href="/tags/%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/" style="font-size: 10px;">使用指南</a> <a href="/tags/%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90/" style="font-size: 10px;">协议分析</a> <a href="/tags/%E5%A2%9E%E5%88%A0%E6%94%B9%E6%9F%A5/" style="font-size: 10px;">增删改查</a> <a href="/tags/%E5%A4%87%E4%BB%BD/" style="font-size: 10px;">备份</a> <a href="/tags/%E5%A4%9A%E7%BA%BF%E7%A8%8B/" style="font-size: 10px;">多线程</a> <a href="/tags/%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2/" style="font-size: 10px;">多表查询</a> <a href="/tags/%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%8D%97/" style="font-size: 20px;">学习指南</a> <a href="/tags/%E6%80%9D%E7%A7%91%E6%95%B0%E9%80%9A/" style="font-size: 15px;">思科数通</a> <a href="/tags/%E6%8E%A5%E5%8F%A3%E8%AF%B7%E6%B1%82/" style="font-size: 10px;">接口请求</a> <a href="/tags/%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4/" style="font-size: 10px;">故障排除</a> <a href="/tags/%E6%97%A0%E7%BA%BFWiFi/" style="font-size: 10px;">无线WiFi</a> <a href="/tags/%E6%9D%83%E9%99%90%E6%8E%A7%E5%88%B6/" style="font-size: 10px;">权限控制</a> <a href="/tags/%E7%9B%91%E6%8E%A7/" style="font-size: 10px;">监控</a> <a href="/tags/%E7%AB%AF%E5%8F%A3%E9%85%8D%E7%BD%AE/" style="font-size: 10px;">端口配置</a> <a href="/tags/%E7%B4%A2%E5%BC%95/" style="font-size: 15px;">索引</a> <a href="/tags/%E8%99%9A%E6%8B%9F%E6%9C%BA/" style="font-size: 10px;">虚拟机</a> <a href="/tags/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/" style="font-size: 10px;">读书笔记</a> <a href="/tags/%E8%B7%AF%E7%94%B1%E9%85%8D%E7%BD%AE/" style="font-size: 10px;">路由配置</a> <a href="/tags/%E9%9B%86%E7%BE%A4/" style="font-size: 10px;">集群</a>
    </div>
  </div>

  
    
  <div class="widget-box">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/11/">十一月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2021/07/">七月 2021</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/12/">十二月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/11/">十一月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/10/">十月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/08/">八月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/06/">六月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/05/">五月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/04/">四月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/03/">三月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2020/01/">一月 2020</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/12/">十二月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/11/">十一月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/10/">十月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/08/">八月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/07/">七月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/06/">六月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/05/">五月 2019</a></li><li class="archive-list-item"><a class="archive-list-link" href="/archives/2019/04/">四月 2019</a></li></ul>
    </div>
  </div>

  
    
  <div class="widget-box">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/2021/11/16/046%E3%80%81%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%8B%E5%8A%A1%E7%9B%B8%E5%85%B3%E7%9F%A5%E8%AF%86%E6%A2%B3%E7%90%86/">046、数据库事务相关知识梳理</a>
          </li>
        
          <li>
            <a href="/2021/11/15/045.%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B4%A2%E5%BC%95%E7%9F%A5%E8%AF%86%E6%A2%B3%E7%90%86/">045.数据库索引知识梳理</a>
          </li>
        
          <li>
            <a href="/2021/11/12/044.%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%9A%E8%A1%A8%E6%9F%A5%E8%AF%A2%E6%96%B9%E5%BC%8F/">044.数据库多表查询方式</a>
          </li>
        
          <li>
            <a href="/2021/11/03/043.Java%20%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%A6%82%E8%A6%81/">043.Java 多线程概要</a>
          </li>
        
          <li>
            <a href="/2021/07/31/042.SpringCloud%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%AE%9E%E7%8E%B0/">042.SpringCloud 微服务实现</a>
          </li>
        
      </ul>
    </div>
  </div>

  
      <div class="widget-box">
    <h3 class="widget-title">友链</h3>
    <div class="widget">
      
        <a style="display: block;" href="https://yiluyanxia.github.io/" title target='_blank'
        >一路眼瞎</a>
      
    </div>
  </div>

  
</aside>
      </div>
      <footer id="footer">
  <div class="foot-box global-width">
    &copy; 2022 FaithSinan &nbsp;&nbsp;
    驱动于 <a href="http://hexo.io/" target="_blank">Hexo</a>
    &nbsp;|&nbsp;基于 <a href="https://github.com/yiluyanxia/hexo-theme-antiquity" target="_blank" rel="noopener">antiquity</a>
    <br>
    <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span id="busuanzi_container_site_pv">不蒜子告之   阁下是第<span id="busuanzi_value_site_pv"></span>个访客</span>
  </div>
</footer>
      <script src="https://code.jquery.com/jquery-2.0.3.min.js"></script>
<script>
if (!window.jQuery) {
var script = document.createElement('script');
script.src = "/js/jquery-2.0.3.min.js";
document.body.write(script);
}
</script>

  
<link rel="stylesheet" href="/fancybox/jquery.fancybox.css">

  
<script src="/fancybox/jquery.fancybox.pack.js"></script>




<script src="/js/script.js"></script>




    </div>
    <nav id="mobile-nav" class="mobile-nav-box">
  <div class="mobile-nav-img mobile-nav-top"></div>
  
    <a href="/" class="mobile-nav-link">首页</a>
  
    <a href="/archives" class="mobile-nav-link">归档</a>
  
  <div class="mobile-nav-img  mobile-nav-bottom"></div>
</nav>    
  </div>
</body>
</html>